﻿@{
    ViewBag.Title = "Создать команду";
}

<h2>Создать команду</h2>

<script type="text/javascript">
    $(function () {
        $("#dialog").dialog({ autoOpen: false, modal: true, width: 800 });

        var current;
        
        $(".cell").bind("click", function () {
            
            if (!$(this).hasClass("selected")) {
                current = this;
                $("#dialog").dialog('open');
            } else {
                $(".Hero[data-heroId=" + $(this).data("heroId") + "]").show();
                $(this).attr("src", "@(Url.Content(@"~/Content/EmptyCell.png"))");
                $(this).data("heroId", "");
                $(this).removeClass("selected");
            }
        });

        $(".Hero").bind("click", function () {
            $(this).hide();            
            $(current).attr("src", $(current).data("pos").substr(0,1) != "b"? $(this).attr("src") : $(this).attr("strikeSrc"));
            $(current).data("heroId", $(this).attr("heroId"));
            $(current).addClass("selected");

            $("#dialog").dialog('close')
        });
    });

     function Save() {
        if ($("#Author").val() == "") {
            alert("Назовись!");
            $("#Author").focus();
            return false;
        }

        if ($("#Comment").val() == "") {
            alert("Давай стратегию!");
            $("#Comment").focus();
            return false;
        }

        if ($("#Password").val() == "") {
            alert("Укажи пароль, он нужен для получения призов!");
            $("#Comment").focus();
            return false;
        }

        var selItems = $(".selected");
        if (selItems.length == 0) {
            alert("Пусто. Сохранять то нечего.");
            return false;
        }

        var countu = 0;
        var countd = 0;

        selItems.each(function() {
            var cmp = $(this).data("pos").substr(0,1);
            if (cmp == "u") countu += 1;
            else if (cmp == "d") countd += 1;
        });

        if (countu > 5 || countd > 5) {
            alert("Нельзя, чтобы в команде было больше 5 игроков.");
            return false;
        }

        $("#Selected").val(selItems.map(function () { return $(this).data("pos") + "|" + $(this).data("heroId") }).toArray().join(","));

        return true;
    }
    
   
</script>


@using (Ajax.BeginForm(new AjaxOptions(){ OnComplete = "OnComplete"}))
{
    @Html.Hidden("Selected")

    if (!Request.IsAuthenticated)
    { 
        <div>
            @Html.GenerateCaptcha()
        </div>
    }
    <div>
        <b>Автор:</b> @Html.TextBox("Author", (object)ViewBag.Author) 
        <b>Пароль (нужен для получения призов): </b> @Html.Password("Password")

         <input type="submit" value="Сохранить"  onclick="return Save();" />
    </div>

    <p><b>Подсказки:</b></p>
    <ul>
        <li>Чтобы поместить героя в выбранное место на карте доты, щелкните по пустому квадрату.</li>
        <li>Для того, чтобы удалить героя, кликните по его изображению повторно.</li>
        <li>В описание стратегии можно добавлять готовые закупы, написав <b>@@номерзакупа</b> (номер можно посмотреть в описании закупа). </li>
    </ul>       
      
    
    <h5>Стратегия:</h5>
    @Html.TextArea("Comment", new { cols = 80, rows = 5 })
    
    <div style="margin-top:30px">
        @Html.Partial("Map")
    </div>
}

<div id="dialog" style="display:none">
    @Html.HeroByGroup((Hero[])ViewBag.Heroes, 
        h=>Html.Image(h.AvatarImageId, "Heroes", h.Id, new 
        {
                    style = "width:51px;height:51px; margin:2px; cursor:pointer",
                    heroId=h.Id,
                    @class="Hero",
                    strikeSrc = Url.Image(h.AvatarImageId, true)
        }
    ))
</div>